home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / biz / dbase / carcosts.lha / CarCosts / Source / File.c < prev    next >
C/C++ Source or Header  |  1996-11-02  |  3KB  |  124 lines

  1. #include "Demo.h"
  2. #include "Daten.h"  
  3. #include <exec/memory.h>
  4.  
  5.  
  6.  extern char Dir[];
  7.  
  8. /*************************************************************************
  9.  *************************************************************************
  10.  *************************************************************************
  11.  
  12. Function: GetFileName5()
  13.  Stub function, asks for a filename.
  14.  
  15. Return: LONG
  16.  
  17. Author: Rüdiger Dreier
  18.  
  19. History:
  20.  25.07.1993: Initial version
  21.  
  22.  *************************************************************************
  23.  *************************************************************************
  24.  *************************************************************************/
  25.  
  26.  LONG GetFileName5(struct FileRequester *Rq,
  27.                    char *Text,
  28.                    char *Ziel,
  29.                    char *Pattern,
  30.                    ULONG FlagS,
  31.                    WORD  laenge)
  32.   {
  33.    LONG  i;
  34.    char   *Source, *Ende;
  35.    
  36.    
  37.    /* Vorgeben eines Pfades ist wohl etwas aufwendiger (geht das */
  38.    /* einfacher ?). FileName() gibt Zeiger auf das erste Zeichen */
  39.    /* zurück, das nicht mehr zum Pfad gehört. Also alle Zeichen  */
  40.    /* bis auf dieses kopieren. Schließlich muß noch eine Null    */
  41.    /* angehängt werden.                                          */
  42.    
  43.    Source = Ziel;
  44.    Ende   = FilePart(Ziel);
  45.    i=0;
  46.    
  47.    while(Source != Ende)
  48.     {
  49.      Dir[i] = *Source;
  50.      Source ++;
  51.      i      ++;
  52.     }
  53.    Dir[i] = 0;
  54.    
  55.    return(GetFileName6(Rq,
  56.                        Text,
  57.                        Ziel,
  58.                        FilePart(Ziel),
  59.                        Dir,
  60.                        Pattern,
  61.                        FlagS,
  62.                        laenge));
  63.   }
  64.  
  65.  
  66. /*************************************************************************
  67.  *************************************************************************
  68.  *************************************************************************
  69.  
  70. Function: GetFileName6()
  71.  Opens an ASL filerequester to ask for a filename.
  72.  
  73. Return: LONG
  74.  -1: Fehler
  75.  
  76. Author: Rüdiger Dreier
  77.  
  78. History:
  79.  25.07.1993: Initial version
  80.  
  81.  *************************************************************************
  82.  *************************************************************************
  83.  *************************************************************************/
  84.  
  85.  LONG GetFileName6(struct FileRequester *Rq,
  86.                    char *Text,
  87.                    char *Ziel,
  88.                    char *File,
  89.                    char *Drawer,
  90.                    char *Pattern,
  91.                    ULONG FlagS,
  92.                    WORD  laenge)
  93.   {
  94.    SHORT  Flag = 0;
  95.    
  96.    struct Window *Window;
  97.    
  98.    get(WI_Cost, MUIA_Window_Window, &Window);
  99.    
  100.    
  101.    Flag = MUI_AslRequestTags(Rq,
  102.                          ASLFR_TitleText       , (LONG) Text   ,
  103.                          ASLFR_Window          , (LONG) Window ,
  104.                          ASLFR_InitialDrawer   , (LONG) Drawer ,
  105.                          ASLFR_InitialFile     , (LONG) File   , 
  106.                          ASLFR_Flags1          , (LONG) FlagS  ,
  107.                          ASLFR_InitialPattern  , (LONG) Pattern,
  108.                          TAG_DONE);
  109.    if(Flag)
  110.     {
  111.      /* TRUE, daher Text kopieren */
  112.      if(strlen(Rq->fr_Drawer) < laenge) 
  113.       {
  114.        strcpy(Ziel,Rq->fr_Drawer);
  115.       }
  116.      
  117.      /* Text zu lang ??? */
  118.      if(! AddPart(Ziel,Rq->fr_File,laenge)) Flag = -1;
  119.     }
  120.    
  121.    return(Flag);
  122.   }
  123.  
  124.